package pe.edu.upc.dew.Grupo1.service;

import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import pe.edu.upc.dew.Grupo1.dao.SalaDao;
import pe.edu.upc.dew.Grupo1.model.Sala;

public class SalaServiceImpl implements SalaService {
	private SalaDao salaDao;

	public void setSalaDao(SalaDao salaDao) {
		this.salaDao = salaDao;
	}
	
	public SalaServiceImpl() {
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.SalaService#GetConteoSalas()
	 */
	@Override
	public int GetConteoSalas() {
		return salaDao.getConteoSalas();

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.SalaService#InsertSala(pe.edu.upc.dew.Grupo1.model.Sala)
	 */
	@Override
	public void InsertSala(Sala sala) {
		salaDao.insert(sala);

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.SalaService#GetSalaPorCodigo(int)
	 */
	@Override
	public Sala GetSalaPorCodigo(int codigo) {

		return salaDao.getSalaPorCodigo(codigo);

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.SalaService#UpdateSalaPorCodigo(pe.edu.upc.dew.Grupo1.model.Sala)
	 */
	@Override
	public void UpdateSalaPorCodigo(Sala sala) {

		salaDao.updatePorCodigo(sala);

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.SalaService#DeleteSalaPorCodigo(pe.edu.upc.dew.Grupo1.model.Sala)
	 */
	@Override
	public void DeleteSalaPorCodigo(Sala sala) {

		salaDao.deleteSalaPorCodigo(sala.getCodigoSala());

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.SalaService#GetSalasPorDescrpcion(pe.edu.upc.dew.Grupo1.model.Sala)
	 */
	@Override
	public List<Sala> GetSalasPorDescrpcion(Sala sala) {
		return salaDao.getSalasPorDescripcion(sala.getDescripcion());

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.SalaService#GetSalasPorCodigoLocalDescripcion(pe.edu.upc.dew.Grupo1.model.Sala)
	 */
	@Override
	public List<Sala> GetSalasPorCodigoLocalDescripcion(Sala sala) {
		return salaDao.getSalasPorCodigoLocalDescripcion(sala.getLocal().getCodigoLocal(),
				sala.getDescripcion());

	}
}